Kiến trúc khung Flutter (phần mềm)

Các thành phần chính của Flutter gồm:

  • Nền tảng Dart
  • Flutter engine
  • Thư viện Foundation
  • Các widget được thiết kế riêng

Nền tảng Dart

Ứng dụng Flutter được viết bằng ngôn ngữ Dart và tận dụng nhiều tính năng nâng cao của ngôn ngữ này.[9]

Trên Android, và trên Windows, macOSLinux thông qua dự án chưa chính thức mang tên Flutter Desktop Embedding, Flutter chạy trên máy ảo Dart với engine thực thi just-in-time (JIT). Do giới hạn về thực thi mã động của App Store, ứng dụng Flutter sử dụng biên dịch ahead-of-time (AOT) trên iOS.[10]

Một tính năng đáng chú ý của nền tảng Dart là hỗ trợ"tải lại nóng"(hot reload) trong đó các sửa đổi trong tập tin nguồn có thể được chèn vào ứng dụng đang chạy. Flutter mở rộng sự hỗ trợ này cho tính năng"tải lại nóng giữ trạng thái (stateful hot reload), để các sửa đổi trong mã nguồn có thể được cập nhật ngay lập tức lên ứng dụng đang chạy mà không cần phải khởi động lại hoặc mất mát các trạng thái đang có.[11] This feature as implemented in Flutter has received widespread praise.

Flutter engine

Engine của Flutter, được viết chủ yếu bằng C++, cung cấp sự hỗ trợ kết xuất ở mức độ thấp bằng thư viện đồ họa Skia của Google. Thêm vào đó, nó giao tiếp với các SDK của riêng nền tảng như các SDK do AndroidiOS cung cấp.[9]

Thư viện Foundation

Widgets

Design-specific widgets